import React, { Component } from 'react'

export default class Son extends Component {
    state = {
        study: '学习',
        count: 0
    }
    static getDerivedStateFromProps(props, state) {
        // props: 表示接收的父组件的属性对象
        // state: 当前组件自身的state

        // 该生命周期:
        // 执行时间: 初始化执行, 数据更新时执行. 在render之前执行
        // 特点: 该生命周期必须有return 返回值, 如果返回null 则不更新自身的state.
        // 如果返回对象, 则更新自身的state
        // 作用: 使用接收的父组件的props传递过来的属性参数更新自身的state,不常用
        // 问题? 当props中的属性 和子组件自身的属性同名时怎么办?
        // console.log('getDerivedStateFromProps');
        // console.log('props', props);
        // return null 
        console.log('state', state);
        //console.log('this', this); // undefined 因为是静态方法
        if (state.count == 0) {
            return null
        } else {
            return props
        }

    }
    render() {
        console.log('render');
        return (
            <div>
                <p>我是子组件</p>
            </div>
        )
    }
}
